package netective.soap;

import java.util.ArrayList;

import javax.jws.WebParam;
import javax.jws.WebService;

import netective.api.analyzer.PacketType;
import netective.api.analyzer.PredictionType;
import netective.gui.charts.ChartGrain;

@WebService
public interface SoapMessenger 
{
	public String echo(
			@WebParam(name="data") String str);	
	public byte[] createClassesOfPacketsChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="PacketTypes") ArrayList<PacketType> packetTypes);
	byte[] createDirectionOfPacketsChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols);
	byte[] createDownloadUploadChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols);
	byte[] createDownloadUploadAverageChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols);
	byte[] createOutPortChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols, 
			@WebParam(name="Top") int top);
	byte[] createOtherPortChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols, 
			@WebParam(name="Top") int top);
	byte[] createOtherAdressesChart(
			@WebParam(name="ChartGrain") ChartGrain chartGrain, 
			@WebParam(name="PredictionType") PredictionType predictionType, 
			@WebParam(name="Protocols") String protocols, 
			@WebParam(name="Top") int top); 
}
